Kettle简介
企业数据仓库模型
ETL简介
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我要学习的ETL工具是Kettle!
Kettle简介
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)。
Kettle的结构
Kettle的结构-Spoon和Data Integration Server
Spoon是构建ETL Jobs和Transformations的工具。Spoon以拖拽的方式图形化设计,能够通过spoon调用专用的数据集成引擎或者集群。
Data Integration Server是一个专用的ETL Server,它的主要功能有:
Kettle的结构-Enterprise Console
Enterprise Console(企业控制台)提供了一个小型的客户端,用于管理Pentaho Data
Integration企业版的部署。
包括企业版本的证书管理、监控和控制远程Pentaho Data Integration服务器上的活动、分析已登记的作业和转换的动态绩效。
kettle的核心组件
Kettle概念模型
Kettle的执行分为两个层次:Job(作业)和Transformation(转换)。
kettle下载
kettle下载
下载网址:https://community.hitachivantara.com/docs/DOC-1009855
Kettle目录文件
Kettle部署
安装JDK
由于Kettle是Java语言开发的,该软件的允许需要Java运行环境的依赖。
需要先安装JDK,准备好Java软件的运行环境。
配置环境变量
JAVA_HOME:JDK的安装目录
KETTLE_HOME:kettle的解压目录
运行
Kettle界面简介
工具栏
工具图标
树形列表
工作区
Kettle快速体验
把数据从CSV文件复制到Excel文件
分析
转换控件
CSV文件输入
记得点击 获取字段 和选取文件(点击预览也可以预览数据)
Excel输出
记得点击字段里的 获取字段 按钮 和填写输出文件名
转换文件
按住shift+鼠标左键可以建立连接
运行
执行结果
日志
步骤度量
Metrics
Preview data
Kettle核心概念
可视化编程
Kettle可以被归类为可视化编程语言(Visula Programming Languages,VPL),因为Kettle可以使用图形化的方式定义复杂的ETL程序和工作流。
Kettle里的图就是转换和作业。
可视化编程一直是Kettle里的核心概念,它可以让你快速构建复杂的ETL作业和减低维护工作量。它通过隐藏很多技术细节,使IT领域更贴近于商务领域。
转换
Step步骤
Hop跳
数据行-数据类型
数据以数据行的形式沿着步骤移动。一个数据行是零到多个字段的集合,字段包含下面几种数据类型。
①String:字符类型数据
②Number:双精度浮点数。
③Integer:带符号长整型(64位)。
④BigNumber:任意精度数据。
⑤Date:带毫秒精度的日期时间值。
⑥Boolean:取值为true和false的布尔值。
⑦Binary:二进制字段可以包含图像、声音、视频及其他类型的二进制数据
并行
跳的这种基于行集缓存的规则允许每个步骤都是由一个独立的线程运行,这样并发程度最高。这一规则也允许数据以最小消耗内存的数据流的方式来处理。在数据仓库里,我们经常要处理大量数据,所以这种并发低消耗内存的方式也是ETL工具的核心需求。
对于kettle的转换,不可能定义一个执行顺序,因为所有步骤都以并发方式执行:当转换启动后,所有步骤都同时启动,从它们的输入跳中读取数据,并把处理过的数据写到输入跳,直到输入跳里不再有数据,就中止步骤的运行。当所有的步骤都中止了,整个转换就中止了。 (要与数据流向区分开)
如果你想要一个任务沿着指定的顺序执行,那么就要使用后面所讲的“作业”!